﻿using MediatR;
using Process.ErrorCode;
using SqlSugar;
using System.ComponentModel.DataAnnotations;

namespace Process.API.Application.Command.Action.ProductionOrders
{
    public class UpdProductionOrdersCommand : IRequest<APIResult<int>>
    {
        /// <summary>
        /// 生产工单主键
        /// </summary>
      
        public int ProductionOrdersId { get; set; }
        /// <summary>
        /// 工单编号
        /// </summary>
        public string ProductionOrdersCode { get; set; }
        /// <summary>
        /// 工单名称
        /// </summary>
        public string ProductionOrdersName { get; set; }
        /// <summary>
        /// 工单进度
        /// </summary>
        public int ProductionOrdersProgress { get; set; }
        /// <summary>
        /// 关联计划
        /// </summary>
        public string AssociatePlans { get; set; }
        /// <summary>
        /// 计划编号
        /// </summary>
        public string PlanNumber { get; set; }
        /// <summary>
        /// 类型
        /// </summary>
        public string Type { get; set; }
        /// <summary>
        /// 产品名称
        /// </summary>
        public string ProductName { get; set; }
        /// <summary>
        /// 产品编号
        /// </summary>
        public string ProductCode { get; set; }
        /// <summary>
        /// 规格型号
        /// </summary>
        public string SpecificationModel { get; set; }
        /// <summary>
        /// 产品类型
        /// </summary>
        public string ProductType { get; set; }
        /// <summary>
        /// 单位
        /// </summary>
        public string Unit { get; set; }
        /// <summary>
        /// BOM
        /// </summary>
        public string BOM { get; set; }
        /// <summary>
        /// 版本
        /// </summary>
        public string Version { get; set; }
        /// <summary>
        /// 计划数量
        /// </summary>
        public int PlannedQuantity { get; set; }
        /// <summary>
        /// 实际生产数量
        /// </summary>
        public int ActualQuantity { get; set; }
        /// <summary>
        /// 计划开工时间
        /// </summary>
        public DateTime? PlanStart { get; set; }
        /// <summary>
        /// 计划完工时间
        /// </summary>
        public DateTime? PlanEnd { get; set; }
        /// <summary>
        /// 实际开工时间
        /// </summary>
        public DateTime? ActualStart { get; set; }
        /// <summary>
        /// 实际完工时间
        /// </summary>
        public DateTime? ActualEnd { get;  set; }
        /// <summary>
        /// 生产批次
        /// </summary>
        public string? Batch { get; set; }
        /// <summary>
        /// 需求日期
        /// </summary>
        public DateTime? DemandDate { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        public string Remark { get; set; }
        /// <summary>
        /// 状态(0是待排产
        ///1是未开始
        ///2是进行中
        ///3是已完成
        ///4是已暂停
        ///5是已关闭)
        /// </summary>
        public int State { get; set; }
        /// <summary>
        /// 创建人
        /// </summary>
        public string CreateBy { get; set; }
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreateTime { get; set; }
        /// <summary>
        /// 修改人
        /// </summary>
        public string? UpdBy { get; set; }
        /// <summary>
        /// 修改时间
        /// </summary>
        public DateTime? UpdTime { get; set; }
        /// <summary>
        /// 逻辑删除
        /// </summary>
        public bool IsDel { get; set; }
    }
}
